/**
 * Copyright (c) 2018 开源 All rights reserved.
 *
 * https://www.chengcang.com
 *
 * 版权所有，侵权必究！
 */

package com.chengcang.api.modules.sys.service;

import com.chengcang.api.modules.sys.dto.SysDictDataDTO;
import com.chengcang.api.modules.sys.entity.SysDictDataEntity;
import com.chengcang.common.enums.DataTypeEnum;
import com.chengcang.common.page.PageData;
import com.chengcang.common.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 数据字典
 *
 * @author zhanli
 */
public interface SysDictDataService extends BaseService<SysDictDataEntity> {

    PageData<SysDictDataDTO> page(Map<String, Object> params);

    SysDictDataDTO get(Long id);

    void save(SysDictDataDTO dto);

    void update(SysDictDataDTO dto);

    void delete(Long[] ids);

    /**
     * 根据类型和分类找到具体值
     * 例如 type  gender  key 0 返回 男
     * @param type 类型
     * @param dictValue  具体类型 例如 0 返回男
     * @return
     */
    String getValue(DataTypeEnum type, String dictValue);
    /**
     * 多个字典key返回集合
     * @param type
     * @param dictValue
     * @return
     */
    List<String> getListingValue(DataTypeEnum type, String... dictValue);

    /**
     * 多个字典key返回逗号拼接
     * @param type
     * @param dictValue
     * @return
     */
    String getJoiningValue(DataTypeEnum type, String... dictValue);
}